State-dependent Query Response

ABSTRACT

In general, the subject matter described in this specification can be embodied in methods, systems, and program products for receiving user input that defines a search query, and providing the search query to a server system. Information that a search engine system determined was responsive to the search query is received at a computing device. The computing device is identified as in a first state, and a first output mode for audibly outputting at least a portion of the information is selected. The first output mode is selected from a collection of the first output mode and a second output mode. The second output mode is selected in response to the computing device being in a second state and is for visually outputting at least the portion of the information and not audibly outputting the at least portion of the information. At least the portion of information is audibly output.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. application Ser. No.12/851,879, filed Aug. 6, 2010, the contents of which are incorporatedby reference.

TECHNICAL FIELD

This document generally describes techniques, methods, systems, andmechanisms for performing computerized searches for information.

BACKGROUND

Users of certain mobile computing devices, such as an applicationtelephones or smartphones, can provide spoken input to their devices.For example, a user can press a button and speak a query “San FranciscoPizza Places” in order to be provided with a list of search results thatidentify pizza places in San Francisco. The user may also providetextual input, for example, using a physical or virtual keyboard. Themobile telephone may include a display device for providing a visualdisplay of the search results to the user. The mobile telephone may alsoinclude one or more speakers for audibly providing information to theuser. For example, the speaker may output audio from a telephone call ormusic.

SUMMARY

This document describes techniques, methods, systems, and mechanisms forperforming state-dependent query response. In one instance, a system candetermine whether to provide a response to a user visually, audibly, orboth, depending on a context of a mobile computing device. For example,a user of the mobile computing device may use the computing device tosubmit a voice or text query to a server system. The server system mayidentify search results that are responsive to the query, and maytransmit the search results to the mobile computing device. The serversystem may also generate a summarized query response that provides ananswer to the query without the user providing additional user inputafter submission of the query. The summarized response may be formattedto be provided audible (e.g., the summarized response may be shortenedfrom what would be provided visually, and may have data translated intospeakable prose that communicates the data in an understandable manner).The mobile computing device may audibly output a response to the queryif the server system returns a summarized query response, and if themobile computing device is in a predefined state. The summarized queryresponse may represent audibly what a user can be provided visually in aGOOGLE One Box search result.

In various examples, the mobile computing device is in the predefinedstate if a proximity sensor in the mobile computing device detects anobject as being near the proximity sensor, or if an aftermarket externalspeaker and microphone system are connected to the mobile computingdevice. For example, if a device is determined to be near a user's earor in a particular type of dock, a system may determine that audibleoutput is desirable (because the user cannot see the screen or needs tokeep their eyes on the road) and may automatically select to provideoutput in an audible format instead of or in addition to a visualformat. In various examples, the search results are visibly output, butare not audibly output. In various examples, the summarized queryresponse is visibly output in addition to being audibly output.

In general, one aspect of the subject matter described in thisspecification can be embodied in a computer program product that istangibly embodied in a computer-readable storage medium and includesinstructions that when executed by a processor perform operations. Theoperations include receiving, by a computing device, user input thatdefines a search query, and providing the search query to a serversystem that is remote from the computing device. The operations includereceiving, by the computing device, information that a search enginesystem at the server system determined was responsive to the searchquery. The operations include identifying, by the computing device, thatthe computing device is in a first state, and in response, selecting afirst output mode that is for audibly outputting at least a portion ofthe information. The first output mode is selected from a collectionthat comprises the first output mode and a second output mode. Thesecond output mode is selected in response to the computing device beingin a second state and is for visually outputting at least the portion ofthe information and not audibly outputting the at least portion of theinformation. The operations include audibly outputting, by the computingdevice and as a result of the identifying, at least the portion of theinformation.

Another aspect of the subject matter described in this specification canbe embodied in a computer implemented method. The method includes,receiving, by a server system and from a computing device, a searchquery that was input to the computing device by a user. The methodincludes determining, by the server system, search results that identifydocuments that are responsive to the search query. The method includesgenerating, by the server system, a summarized query response that isresponsive to the search query based on information from one or more ofthe documents that are responsive to the search query. The summarizedquery response is generated based on a template that is different than atemplate that was used to generate the search results. The methodincludes providing, by the server system and to the computing device,the search results and the summarized query response. Providing thesearch results and summarized query response causes the computing deviceto determine that the computing device is in a first state, and inresponse, select a first output mode that is for audibly outputting atleast the summarized query response. The first mode is selected from acollection of the first output mode and a second output mode, whereinthe second output mode is selected in response to the computing devicebeing in a second state and is for visually outputting at least thesearch results and not audibly outputting the summarized query response.Providing the search results and summarized query response causes thecomputing device to audibly output at least the summarized queryresponse.

In yet another aspect, the subject matter described in thisspecification can be embodied in a computer-implemented system. Thesystem includes a search query interface to receive from a server systeminformation that is responsive to a search query. The informationincludes (i) multiple search results that identify documents that areresponsive to the search query, and (ii) a summarized query responsethat is in addition to the multiple search results, and that isgenerated from content of a document that is responsive to the searchquery. The system includes a computing device state determiner that isprogrammed to identify whether the computing device is in a first stateor a second state. The system includes a query result presenter toselect for output a stored visual representation of the multiple searchresults if the computing device is determined to be in the first state,and to select for output a stored audible representation of thesummarized query response if the computing device is determined to be inthe second state. The system includes audio and visual output devicesfor selectively outputting a visual representation of the multiplesearch results and an audible representation of the summarized queryresponse based on the output that is selected by the query resultpresenter.

These and other implementations can optionally include one or more ofthe following features. The received user input that defines the searchquery may be provided with a keyboard. Identifying that the computingdevice is in the first state may include determining that an externalspeaker and an external microphone have been placed in communicationwith the computing device by a user of the computing device. Identifyingthat the computing device is in the first state may include determining,using a sensor of the computing device, that the computing device isproximate to an object that is recognized by the computing device.

The computing device may be determined to be in the second state whenthe computing device is determined to not be proximate to an object. Thecomputing device may be in the second state when the user input thatdefines the search query is received. The information may include asummarized query response that is responsive to the search query andthat includes a human-readable prose sentence that was constructed using(a) a sentence template that includes predefined words and (b) contentfrom a document that was identified as being responsive to the searchquery.

The information may include multiple search results that each identify adocument that is responsive to the search query. The multiple searchresults may not include a human-readable prose sentence that wasconstructed using (a) a sentence template that includes predefined wordsand (b) content from a document that was identified as being responsiveto the search query. The audible output may be based on thehuman-readable prose sentence. The summarized query response may bevisually output in a display. The display may include a user-selectableprompt. The search results may be displayed in response to selection ofthe prompt. The search results may not be audibly output in response toselecting the prompt. The search results may be visually displayed afterthe audible output and in response to receiving user input selecting theprompt.

The search results may not be visually displayed before receiving theuser input selecting the prompt. A visual display of both the summarizedquery response and the multiple search results may be provided. Thesummarized query response may be audibly output without receiving userinput subsequent to receiving the information. The multiple searchresults may not be audibly output without user input being providedsubsequent to receiving the information. The identification that thecomputing device is in the first state may not depend on whether thecomputing device was in the first state or the second state when thesearch query was received.

Generating the summarized query response may include selecting data fromone or more predesignated fields in the one or more documents, andplacing the information into slots in a template that includespredefined words, so as to generate a human-understandable sentence thatis constructed from both predefined words and the data from the one ormore predesignated fields. The summarized query response may begenerated by the server system in response to identifying that thesearch query is in a defined list of search queries for which thesummarized query response is to be generated. The summarized queryresponse may be generated by the server system in response toidentifying that one or more documents from which the summarized queryresponse is constructed is a determined search result.

The query result presenter may not select for output the audiblerepresentation of the summarized query response when the computingdevice is in the first state. The query result presenter may select foroutput a visual representation of the summarized query response when thecomputing device is in the second state. The visual output device maynot output a visual representation of either the search results or thesummarized query response when the computing device is (i) in the secondstate and (ii) outputs the audible representation of the summarizedquery response.

Particular embodiments can be implemented, in certain instances, torealize one or more of the following advantages. A portion of a responseto a query can be audibly output to a user if a mobile computing deviceis determined to be in a state where audible output is advantageous.User safety may be increased as the user may be able to keep his eyes ona current task without looking at a display of the mobile computingdevice. The audibly output information may be a subset of the queryresponse that is particularly relevant, so that a user is notoverwhelmed with audible output of all information that is responsive toa query.

The details of one or more embodiments are set forth in the accompanyingdrawings and the description below. Other features, objects, andadvantages will be apparent from the description and drawings, and fromthe claims.

DESCRIPTION OF DRAWINGS

FIG. 1 conceptually illustrates a state-dependent query response.

FIG. 2 is a flowchart for performing state-dependent query response.

FIG. 3 illustrates audible output transitions for a computing device.

FIG. 4 illustrates visual output transitions for a computing device.

FIG. 5 is an example system for performing state-dependent queryresponse.

FIG. 6 is a conceptual diagram of a system that may be used to implementthe systems and methods described in this document.

FIG. 7 is a block diagram of computing devices that may be used toimplement the systems and methods described in this document, as eithera client or as a server or plurality of servers.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

This document generally describes state-dependent query response. A userof a computing device may provide a text or voice query to the computingdevice. The computing device may submit the query to a server systemthat includes a search engine for identifying documents that areresponsive to the query. The server system may also generate asummarized query response that responds to the query, and that is basedon data in one or more of the identified documents. The summarized queryresponse and search results that correspond to the identified documentsmay be transmitted to the computing device.

The computing device may determine if the device is in a state forproviding information audibly. If so, the summarized query response maybe audibly output to the user of the mobile computing device. If not,the summarized query response may be visibly output to the user of themobile computing device (and may not be audibly output). The searchresults may be presented audibly or visibly, either automatically orupon receiving user-input that is for requesting presentation of thesearch results.

As an illustration, a user of a mobile telephone, Susan, may be ridingthe bus home from work. Susan may be interested in figuring out thetitle to a song that is being played over the bus loudspeakers. Susanpulls out her telephone, selects a button for typing a web query, andtypes the query “lyrics you could travel the world but nothing comesclose to the golden coast.”

Susan's telephone transmits the query to a search engine system, whichidentifies web pages that are responsive to the query, and selects thecorresponding search results. The search results are transmitted toSusan's mobile telephone which visibly displays the search results. Eachof the displayed search results includes a title of the correspondingwebpage, a portion of text from the body of the web page, a link to theweb page, and a uniform resource identifier (URI) for the web page.Susan is able to tell, from the titles of the search results, that thesong being played over the bus speakers is “California Gurls,” by KatyPerry.

Susan hears a DJ announce over the bus speakers that the stock marketfluctuated significantly during the day. Susan is interested in how someof her stocks did. Accordingly, Susan selects a query-input text boxthat is being displayed by her mobile computing device, and uses thedevice's keyboard to submit the query “stock TGT,” where TGT is theticker symbol for TARGET CORP. In response to submission of the query,Susan's mobile telephone displays a list of search results for websites. At the top of the list of search results, however, is asummarized query response about TARGET CORP. stock.

The summarized query response includes a visual graph of the stock'sprice throughout the day, the stock's present price, the stock's openingprice, the stock's percent change from the opening price, the stock'shigh and low prices during the day, the stock's volume during the day,and the market capitalization of the company. Some of the information inthe summarized query response may be generated by the server system andunique to the query (e.g., the bar graph may not be the same among allstock queries, and while being based off of data from a third-partywebsite, the graph itself may have been generated by the server system).

The summarized query response may appear visually different than thesearch results. The summarized query response may be generated based ona template that identifies a structural presentation of the summary,wherein the structural presentation of the summary is different than astructural presentation of the search results. The display of thesummarized query response (e.g., the characteristics of the graph, andthe stock's prices) may be defined by the content of one or moredocuments that are identified by the search results that are displayedin the list. Thus, the summarized query response may display informationthat is particularly relevant for the query, and that is in a first viewof information that is displayed to Susan as being responsive to thesearch result. Susan may otherwise need to select a search result to seesuch information. Instead, the information may appear at a top of thesearch result page in an easy-to-read format.

In some examples, a summarized query response for stock data appears inresponse to specific queries (e.g., the word “stock” and a ticker symbolin a single query, or a ticker symbol by alone as a query). The stocksummary may be populated with information from a particular web document(e.g., the “TGT” page of www.stocks.com). In some examples, the stocksummary appears when a search result for the particular web result isone of the top five search results to a query. Thus, a web site (e.g.,www.stocks.com) may be designated as particularly relevant for a givenquery, and when a search result for a particular web document at thatweb site appears as a search result (e.g., the TGT page), data may bepulled from the particular web document, and may be used to populateportions of the summarized query response.

Susan may find the summary of stock information useful, and based on useof the searching system, may know that summaries of information appearfor at least some queries from which a specific “answer” is discernable.The summaries may appear for queries where a website has a database thatprovides an “answer” to a variety of variations of the query. Forexample, a summary may appear in response to a user typing a movie name.The summary may show the movie length, motion picture rating, a summaryof user reviews, and a text input box for finding show times near theuser.

Summarized query response may appear and provide a definition for a wordin a query when a user types, as a query, the word “define” or“definition” along with another word. In various examples, summaries maydisplay information about a musical artist when a query includes themusical artist's name. Summaries may display travel information when auser submits a query that includes a flight name. Summaries may displaya current time at a geographical location when a user types a query thatrequests a time for the location, for example, when a user types “timein London.” Summaries may display tracking information for a mailedpackage when a query includes a number that the server system identifiesas a tracking number for a delivery. Summaries may display a response toa numerical calculation when the query includes an unanswered numericalcalculation (e.g., 5+4).

Susan's bus has now reached a parking lot where she parks her car duringthe day. Susan leaves the bus, and on the way to her car, types “stockWMT,” where WMT is the stock ticker for WAL-MART STORES INC. Susanpresses a query “Submit” button as she reaches the car, and thereafterplaces her mobile telephone in a telephone dock that she has installedin her car.

As before, Susan's mobile telephone submits the query to a serversystem, and receives from the server system a summarized query responsefor WMT stock, and a list of search results. This time, however, Susan'smobile telephone detects that her telephone is placed in a dock. Inresponse, Susan's mobile telephone determines that at least a portion ofthe information that is responsive to the search query should be audiblyoutput.

Susan's mobile telephone uses another template to convert the summarizedquery response for the WMT stock to an audio form. Accordingly, Susan'scar speakers state “The current stock price for WAL-MART STORES,INCORPORATED is fifty one dollars and forty one cents, a zero point twopercent loss over today's opening price of fifty one dollars and fiftyfive cents.”

Susan's mobile telephone may display the same screen as if she had notplaced the mobile telephone in the dock. However, with the mobiletelephone placed in the dock, the summarized query response is audiblyoutput. In some examples, the audible output includes the searchresults. In some examples, the audible output includes the searchresults only after receiving user-input from Susan. Thus, Susan's mobiletelephone may selectively output portions of information that areresponsive to search queries (i) when search queries yield a summarizedquery response, and (ii) when the mobile telephone is in a state forpresenting information audibly (e.g., when the mobile telephone is in adock, the mobile telephone is near a user's ear, or a Bluetooth deviceis wirelessly connected to the mobile telephone).

In various examples, the audible output does not occur when theinformation that is received in response to a search query does notinclude a summary of information, or when the mobile telephone is not ina state for presenting information audibly. The audible output may berequested by the search application on the mobile telephone, or byresources that are received from the searching system. Accordingly, theaudible output may not be in response to a “global” mode by whichmultiple applications on the mobile telephone are triggered into a modeto output information audibly instead of, or in addition to, visually.The audible output may be particular to the output of information thatis responsive to the search query.

In some examples, Susan's mobile telephone may not audibly output thesearch results. Thus, if Susan wants to view information about thesearch results, she may need to look at the display of the mobiletelephone. In some examples, the search results may not be displayed onthe mobile telephone and Susan may need to provide tactile or audibleuser-input that prompts the mobile telephone to display the searchresults. The search results may be audibly output to Susan in responseto the tactile or audible user-input.

FIG. 1 conceptually illustrates a state-dependent query response. Inthis illustration, a user 102 submits a query 104 a or 104 b to a mobiletelephone 106. The mobile telephone 106 transmits the query to a serversystem which returns search results 116 a-c and a summarized queryresponse 118. The mobile telephone 106 provide a visual display of thesummarized query response 118 in a summary output box 120. The mobiletelephone 106 has also determined that the mobile telephone is placed inclose proximity to an object (e.g., the user's ear). Thus, the mobiletelephone 106 presents an audible output of the summarized queryresponse 118.

In more detail, the user 102 can submit a query 104 a or 104 b to theserver system 110 using either textual input or voice input,respectively. For example, the user 102 may press his finger on atouchscreen display of a query-input text box. Upon selection of thequery-input text box, the user may use a real or virtual keyboard totype a query for submission to the server system 110.

In another example, the user 102 may submit a voice query. For example,the user 102 may select a physical button on the side of the mobiletelephone 106, await an acknowledging “beep,” speak into a microphone ofthe mobile telephone 106, and release the physical button. In anotherexample, the user 102 may select a user interface element that depicts,on the touchscreen of the mobile computing device 106, a microphone. Theuser 102 may speak, and the mobile telephone 106 may record until themobile telephone 106 determines that the user 102 is no longer speaking.

The mobile telephone 106 may transmit the text query 108 a or thereceived voice query 108 b to the server system 110 over a network(e.g., the internet). The server system 110 may include a search engine112. The search engine 112 may identify search results that areresponsive to the search query 108.

The query response summarizer 114 may identify a summarized queryresponse that is responsive to the search query. For example, if thequery is one of multiple pre-designated queries, or if any of the searchresults that are identified by the search engine 112 identify apre-designated document, the summarized query response may be generatedbased on content in the pre-designated document.

The summarized query response may include some information that isspecified by a template, and some information that is pulled from one ormore of the search results (or the one or more documents that correspondto the search results). The template may be structurally different thana template that is used to generate the search results.

The search results 116 a-c and the summarized query response 118 may betransmitted from the server system 110 to the mobile computing device106. The mobile computing device may determine that the information thatis received in response to the search query includes a summarized queryresponse 118. Thus, instead of displaying the search results 116 a-c,the mobile telephone may display a dialog box 120 that presents thesummarized query response 118. The dialog box 120 may include a titlethat states “Weather in Houston, Tex.,” and may include snippets ofinformation that describe the weather in Houston.

The mobile telephone 106 may further determine that the mobile telephoneis in a state that is for outputting at least some information audibly.Thus, the mobile telephone may audibly output the summarized queryresponse 118 (e.g., by outputting audibly a portion of the informationthat is included in the summarized query response 118). In this example,the mobile telephone 106 has output “The Weather in Houston, Tex. isNinety-Five Degrees and Sunny.” The speech that is output may besynthesized at the mobile telephone 106 based on the summarized queryresponse 118. In some examples, synthesized speech is sent with orinstead of the summarized query response 118. In some examples, themobile computing device 106 requests that the server system 110 providesynthesized speech for the summarized query response 118, which themobile computing device 106 may have already received.

In either case, the mobile computing device 106 or the server system 110may generate the synthesized speech using a speech template. An examplespeech template is: “The Weather in <location> is <temperature> degreesand <current forecast>,” where the variables are pulled from thesummarized query response 118. In various examples, an audible output ofthe summarized query response 118 is generated by the mobile computingdevice 106, and the visible output of the summarized query response thatis presented in the dialog box 120 is not shown while the mobiletelephone is in the state for audibly outputting information.

Although this document discusses not only transmitting search resultsand summarized query responses, but also visually and audibly outputtingthe search results and summarized query responses, the transmission andoutput of the data may be different in content. For example, theinformation that is transmitted as a summarized query response mayinclude mark-up code and textual data. When the summarized queryresponse is displayed, the mark-up code may not be displayed, and thetextual data may be displayed. When the summarized query response isaudibly output, portions of the textual data may be audibly output assynthesized speech, and may include additional words for improvingsentence flow. For clarity, this document describes the transmission,receipt, and output of search results and summarized query responses,even though the described content may be different. Regardless, allrepresentations of the search results and summarized query responses mayoriginate from the same transmitted search results or summarized queryresponses.

FIG. 2 is a flowchart for performing state-dependent query response. Inbox 202, a mobile computing device receives information that isresponsive to a query. The information may be received from a serversystem, and may have been generated by the server system in response toa voice query or textual query that was defined by a user of the mobilecomputing device and that was submitted to the server system as a query.

The information may include multiple search results 204. Each searchresult may identify a single web document and provide a block of textillustrating a content of the web document. The information may alsoinclude a summarized query response 206. The search results andsummarized query response may be received together within an HTML webdocument that is provided to the mobile computing device in response tothe search query. In various examples, the search results 204 and thesummarized query response 206 are received separately at the mobilecomputing device in response to separate requests by the mobilecomputing device.

In box 208, a determination is made whether the mobile computing deviceis in a visual state or an audible state. The mobile computing devicemay be determined to be in the audible state when a proximity sensor inthe mobile computing device detects that an object is near to theproximity sensor. An object being near to the proximity sensor mayindicate that the mobile computing device is face down, in a user'spocket, or up to a user's ear (so that a user cannot see the screen). Insome examples, a light sensor is used to determine if the mobiletelephone is near an object (e.g., because not as much light may reachthe sensor when the sensor is up against to or near to an object as whenthe object is held out in the open).

In various examples, a phone is determined to be in the audible statewhen a motion sensor (e.g., an accelerometer or a gyroscope) indicatesthat the phone was moved in a predetermined way before the proximitysensor indicated that the mobile computing device was near an object.For example, an upward motion may need to be detected in order for themobile telephone to be in a state that indicates that the mobiletelephone is at a user's ear (in conjunction with the proximity sensorindicating that an object is near the proximity sensor). In anotherexample, a horizontal flipping motion may need to be detected toindicate that the mobile telephone is flipped over onto a surface (inconjunction with the proximity sensor indicating that an object is nearthe proximity sensor).

In some examples, the mobile computing device may be determined to be inthe audible state when the mobile computing device is docked. The mobilecomputing device may be docked when a female port of the mobilecomputing device is placed in communication with a cooperating maleterminal. The mobile computing device may communicate with electronicsin the dock to identify that the male terminal is indeed a male terminalof a dock, and a type of the dock. In some examples, the port is not anaudio input and output jack for headphones. The port may be used, atleast in part, for charging the mobile computing device.

In some examples, the mobile computing device may be determined to be inthe audible state when an external speaker and microphone arecommunicatively connected to the mobile computing device. An externalspeaker and microphone may be a speaker and microphone that may beconnected, physically or wirelessly, to the mobile computing device, butthat are not shipped as connected to the mobile computing device, andthat are in addition to the microphone and speaker that are manufacturedas part of the mobile computing device. Upon attaching the externalspeaker and microphone, the mobile computing device's default speakerand microphone may turn off.

Example external speakers and microphones include one-ear Bluetoothheadsets that may wirelessly communicate with the mobile telephone forplaying audio to a user and for receiving voice input. Another exampleincludes wired headphones that connect to the mobile telephone throughthe mobile telephone's audio input jack.

The mobile computing device may be determined to be in a visual statewhen the mobile computing device has not been determined to be in theaudible state. Thus, the default state for the mobile computing devicemay be the visual state.

In box 210, the mobile computing device has been determined to be in thevisual state, and thus displays the received information visually. Inexamples where the received information does not include a summarizedquery response, but does include search results, the mobile computingdevice may only display search results (box 212). In examples where thereceived information includes both a summarized query response andsearch results, the mobile computing device may concurrently display thesummarized query response (or a representation thereof, as describedabove) and the search results (e.g., in a single webpage in a webbrowser) (box 214). Also, in examples where the received informationincludes both a summarized query response and search results, the mobilecomputing device may first display the summarized query response andthen, after a period of time, display the search results (box 216). Thesearch results may be displayed after the user provides user-input thatinvokes a display of the search results.

In box 218, the mobile computing device has been determined to be in anaudible state, and a determination is performed whether a summarizedquery response has been received as part of the information that isreceived in response to the query. For example, a summarized queryresponse may be part of the received information if the search query wasfor a predesignated query (e.g., a query that included the word“weather” and a location), or if the search results that identified asresponsive to the search query included a predesignated search result(e.g., a search result that is for the “weather.com” webpage, and thatpresents weather for a specific location). Otherwise, the receivedinformation may include only search results (and no summarized queryresponse), or may not include a summarized query response of aparticular type that is necessary for a positive determination in box218.

In box 220, the mobile computing device has not received a summarizedquery response, and thus, the search results are presented. The searchresults may be presented visually (box 222) or audibly (box 224).

In box 226, the mobile computing device is in an audible state and hasreceived a summarized query response. Accordingly, the operationsdescribed in relation to FIGS. 3 and 4 are performed.

FIG. 3 illustrates audible output transitions for a computing device.The mobile computing device may have been determined to be in a statefor audible output and may have been determined to have received asummarized query response (as referenced in FIG. 2). In box 302, thesummarized query response is audibly output. For example, a mobilecomputing device may “speak,” in response to a query “define connote,”the words “Definition for connote . . . imply, to express or stateindirectly.” As described throughout this document, the audible speakingmay be performed with, or without, a corresponding visual presentationthat is representative of the summarized query response.

In box 308, the mobile computing device does not provide an audibleoutput of the search results. Instead, the search results may onlyvisually output to the user.

In box 306, the mobile computing device audibly outputs the searchresults (or a representation thereof) in response to user selection of aprompt. For example, upon the mobile computing device stating thedefinition for “connote,” the mobile computing device may state “Say‘search results’ to listen to the search results for your query‘definition connote.’” In response to the user stating “search results,”the mobile computing device may “speak” summaries of several searchresults (e.g., the titles, and portions of the selections of text foreach search result). In some examples, the search results may be“spoken” by the mobile computing device in response to the mobilecomputing device receiving physical user-input (e.g., user-selection ofa physical button or a user interface element on a touchscreen).

In box 310, the mobile computing device audibly outputs the searchresults without user selection of a prompt. In contrast to box 306, theaudible output may occur without the user providing user input. Forexample, after the mobile computing device states the summarizeddefinition for Connote, the mobile computing device may state “Firstsearch result . . . definition of connote by free dictionary online . .. to suggest in addition to literal meaning . . . say ‘first’ to select. . . ,” “Second search result . . . ” and so forth. The search resultsmay be audibly output without user input that prompts the output of thesearch results.

FIG. 4 illustrates visual output transitions for a computing device. Themobile computing device may have been determined to be in a state foraudible output and may have been determined to have received asummarized query response (as referenced in FIG. 2). In variousexamples, the various visual output transitions that are described belowmay occur in any combination with the audible output transitionsdescribed with reference to FIG. 3.

Mobile computing device 400 is displaying a dialog box 402 that wasdisplayed in response to submission of a search query and receipt ofinformation that is responsive to the search query. The dialog box 402visually presents a summarized query response. The query box is titled“Weather in Houston, Tex.” and includes a details box 404 that includesa summary of data on the present weather in Houston, Tex. In thisexample, the mobile computing device 400 is not displaying any of thesearch results, but includes a “View Search Results” graphical interfaceelement 406 for causing the mobile computing device to display searchresults.

Upon user selection of the “View Search Results” graphical interfaceelement 406, the display of mobile computing device 430 may bepresented. The dialog box 432 may have expanded to include additionalinformation. For example, the “View Search Results” interface element406 may have been replaced by search result 436 and search result 438.In this example, the details box 434 may have shrunk and may not includeas much information as the details box 404. In some examples, thedetails box 434 includes the same information as the details box 404. Auser of the mobile computing device 430 may be able to scroll down thedisplay and view additional search results.

As an alternative to the display of mobile computing device 430, uponuser selection of the “View Search Results” graphical interface element406, the display of mobile computing device 460 may be presented. Inthis example, the display presents a web browser that has rendered a webpage. The title bar 462 of the web browser displays the query that wasused in the search. In this example, the title bar states“Search—‘Houston weather’” because the content of the text or voicequery was “Houston weather.” The web browser also presents an addressbar 464 for displaying the URI for the webpage that has been rendered.

The body portion 466 of the web page displays content that is renderedbased on resources that are received in response to submission of thequery. A top portion 468 of the web page displays a summarized queryresponse for the query “Houston weather.” The summarized query responsemay be structured according to a template, may include predefined wordsfrom the template, and may be structured differently than the searchresults that are displayed in a bottom portion 470 of the web page.

In various examples, the summarized query response is not displayed in adialog box 402 as presented by mobile computing device 400. In suchexamples, the first display of information that is presented in responseto submission of a search query is either the display of mobilecomputing device 430 or mobile computing device 460.

The various visual output transitions of FIG. 4 may be combined with anycombination of the audible output transitions of FIG. 3. For example,the audible output summarized query response (box 302) may be outputduring the display of mobile computing device 460, and the display ofmobile computing device 460 may remain as the audible output transitionsto output the search results (box 310). As another example, the audibleoutput summarized query response (box 302) may be output during thedisplay of mobile computing device 400, and no audible output of searchresults (box 308) may occur upon user-selection of the “View SearchResults” interface element 406 (and the visual transition to the displayof mobile device 430 or mobile device 460).

FIG. 5 is an example system for performing state-dependent queryresponse. The system includes a mobile computing device 500 and a serversystem 550. The mobile computing device communicates with the serversystem 550 over a network, for example, the internet.

Mobile computing device 500 includes a query input interface 502. Thequery input interface 502 performs operations for receivinguser-definition of queries at the mobile computing device. For example,the query input interface 502 may perform operations for recording anaudio file of a user-spoken query in response to a user pressing abutton. In another example, the query input interface 502 may record keystrokes entered by a user into a text field that is designated for asearch query. The query input interface 502 may transmit the recordedaudio file or keystrokes to the server system 550. In some examples, thequery input interface 502 receives information that is responsive to thesubmitted query, and passes the received information to the statedetermine 504, the query result presenter 506, or the web browser 508.

The server system 550 includes a speech recognition system 552 fordetermining a transcription of the recorded audio file of the spokenvoice query. The speech recognition system 552 may access a languagemodel to probabistically determine textual words that correspond tospoken words in the recorded audio file. The speech recognition system552 may output textual words in a human-understandable language.

The search engine system 554 may receive a search query in textual formand identify search results that are responsive to the search query. Forexample, the search engine system 554 may include a web crawler thatvisits websites on the internet and collects, parses, and stores datafrom the websites to generate an index that facilitates fast andaccurate information retrieval. The search query is run against theindex to identify a ranked set of documents that are relevant to thesearch query. The search engine system 554 provides, for transmission tothe mobile computing device 500, a corresponding set of search resultsthat each identify information a document.

The query response summarizer 556 determines whether a summarized queryresponse should be generated for the query, and if so, generates thesummarized query response. A summarized query response is a set ofinformation that is generated by the query response summarizer 556 fordisplay to a user of the mobile computing device 500. The summarizedquery response may “answer” a query so that a user of the mobilecomputing device 500 may need not select a search result to obtain ananswer to the query. Accordingly, the summarized query response may begenerated using a template that a developer of the content summarizer556 has generated, where the template includes “slots” for data that isdrawn from a specified information resource.

As an example, a summarized query response may be generated when asearch query is “definition marmot.” The summarized query response mayinclude HTML code that, when rendered by the mobile computing device500, presents a display of information that “answers” the query. Forexample, the display of the summarized query response may include atitle that states “Definition for Marmot,” an icon that depicts adictionary, the textual definition “stocky coarse-furred burrowingrodent with a short bushy tail,” and a URI that identifies a source ofthe definition. In this example, the title may include ahuman-understandable sentence “Definition for Marmot” that is partiallygenerated using words from the template, “Definition for,” and partiallygenerated using a word that is identified by the query, “Marmot.” Insome examples, the human-understandable sentence is partially generatedusing words from a source of the definition.

In contrast, the search results may be structured differently than thesummarized query response, and may be generated using a template that isdifferent than the template for the summarized query response. Theserver system 550 may generate a single summarized query response for aquery, but may identify multiple search results that are responsive tothe summary. The title for each of the search results may be defined bythe search result, while the title for the summarized query response maybe defined, at least in part, by the template for the summarized queryresponse. The source of content for the summarized query response may beone of the documents that are identified as responsive to the searchquery, and for which a search result has been displayed.

The server system 550 may transmit the search results and the summarizedquery response to the mobile computing device 500. In response toreceiving the search results and the summarized query response, thestate determiner 504 may determine a state of the mobile computingdevice 500. In some examples, the search results and summarized queryresponse are transmitted as part of a web page that includes informationthat causes the mobile computing device 500 to request that the statedeterminer 504 determine a state of the mobile computing device 500. Insome examples, the state determiner 504 determines the state afterreceiving the search results and summarized query response, and as adirect result of receiving the search results and summarized queryresponse.

The state determiner 504 may invoke a mode of the mobile computingdevice 500 depending on the state. For example, if a proximity sensor ofthe mobile computing device detects that the mobile computing device 500is near an object when the search results and summarized query responseare received, then a mode for audibly outputting information that isresponsive to the search query may be invoked. If an external devicethat includes a speaker is communicatively connected to the mobilecomputing device, then the mode for audibly outputting information maybe invoked. If the mobile computing device is determined to be docked,then a mode for outputting information may be invoked. If the mobilecomputing device is not determined to be in any of the above-describedstates, then a mode for visibly outputting information that isresponsive to the search query may be invoked.

The query result presenter 506 may receive from the server system thesearch results and a summarized query response. The query resultpresenter 506 may perform operations for audibly and visually outputtingthe information, for example, as described with reference to FIGS. 2-4.As an example, the query result presenter 506 may determine to audiblyoutput the summarized query response based on the mobile computingdevice being in the audible mode, as set by the state determiner 504.

In some examples, the received summarized query response may be audiblyoutput by converting the text in the summarized query response tosynthesized speech (e.g., by the mobile computing device alone or incommunication with the server system 550). In some examples, thesummarized query response includes data for presenting a visualdepiction of the summarized query response, and data for audiblypresenting the summarized query response (e.g., a voice recording or aset of text that is different than the data for presenting the visualdepiction, and from which synthesized audio may be generated).

In some examples, audibly outputting the summarized query responseincludes the mobile computing device 500 applying, or requesting thatthe server system 550 apply, a template for generating synthesizedspeech from data in the summarized query response. For instance, a webpage may be provided to the mobile computing device 500 in response tosubmission of a search query. The web page may include mark-up code fordisplaying multiple different search results, and mark-up code fordisplaying the summarized query response. The mobile computing devicemay use a template to convert the mark-up code for the summarized queryresponse to text for generation of synthesized speech.

Referencing the above example where the “definition marmot” query issubmitted, a template may be applied to the mark-up code that is used togenerate the summarized query response. Application of the template maycause generation of the text “The definition for a Marmot is a stockycourse-furred burrowing rodent with a short bushy tail.” The generatedtext may be output as synthesized voice. In this example, the text thatis generated using the template does not reference the icon or thesource of the document (as presented in the visual depiction of thesummarized query response), and adds the words “the” and “is.” Thus, thetemplate may place information that is for visually depicting thesummarized query response into a form that is more understandable by ahuman listener.

The mobile computing device 500 includes a web browser 508. The webbrowser may include the query result presenter 506. In other words, thecommands for presenting the audio output and visual output and thecontent that is defined by the audio output and visual output may beincluded in resources that the web browser 508 received from a serversystem in response to a request for resources at a specified URI.

Referring now to FIG. 6, a conceptual diagram of a system that may beused to implement the systems and methods described in this document isillustrated. Mobile computing device 610 can wirelessly communicate withbase station 640, which can provide the mobile computing device wirelessaccess to numerous services 660 through a network 650.

In this illustration, the mobile computing device 610 is depicted as ahandheld mobile telephone (e.g., a smartphone or an applicationtelephone) that includes a touchscreen display device 612 for presentingcontent to a user of the mobile computing device 610. The mobilecomputing device 610 includes various input devices (e.g., keyboard 614and touchscreen display device 612) for receiving user-input thatinfluences the operation of the mobile computing device 610. In furtherimplementations, the mobile computing device 610 may be a laptopcomputer, a tablet computer, a personal digital assistant, an embeddedsystem (e.g., a car navigation system), a desktop computer, or acomputerized workstation.

The mobile computing device 610 may include various visual, auditory,and tactile user-output mechanisms. An example visual output mechanismis display device 612, which can visually display video, graphics,images, and text that combine to provide a visible user interface. Forexample, the display device 612 may be a 3.7 inch AMOLED screen. Othervisual output mechanisms may include LED status lights (e.g., a lightthat blinks when a voicemail has been received).

An example tactile output mechanism is a small electric motor that isconnected to an unbalanced weight to provide a vibrating alert (e.g., tovibrate in order to alert a user of an incoming telephone call orconfirm user contact with the touchscreen 612). Further, the mobilecomputing device 610 may include one or more speakers 620 that convertan electrical signal into sound, for example, music, an audible alert,or voice of an individual in a telephone call.

An example mechanism for receiving user-input includes keyboard 614,which may be a full qwerty keyboard or a traditional keypad thatincludes keys for the digits ‘0-9’, ‘*’, and ‘#.’ The keyboard 614receives input when a user physically contacts or depresses a keyboardkey. User manipulation of a trackball 616 or interaction with a trackpadenables the user to supply directional and rate of rotation informationto the mobile computing device 610 (e.g., to manipulate a position of acursor on the display device 612).

The mobile computing device 610 may be able to determine a position ofphysical contact with the touchscreen display device 612 (e.g., aposition of contact by a finger or a stylus). Using the touchscreen 612,various “virtual” input mechanisms may be produced, where a userinteracts with a graphical user interface element depicted on thetouchscreen 612 by contacting the graphical user interface element. Anexample of a “virtual” input mechanism is a “software keyboard,” where akeyboard is displayed on the touchscreen and a user selects keys bypressing a region of the touchscreen 612 that corresponds to each key.

The mobile computing device 610 may include mechanical or touchsensitive buttons 618 a-d. Additionally, the mobile computing device mayinclude buttons for adjusting volume output by the one or more speakers620, and a button for turning the mobile computing device on or off. Amicrophone 622 allows the mobile computing device 610 to convert audiblesounds into an electrical signal that may be digitally encoded andstored in computer-readable memory, or transmitted to another computingdevice. The mobile computing device 610 may also include a digitalcompass, an accelerometer, proximity sensors, and ambient light sensors.

An operating system may provide an interface between the mobilecomputing device's hardware (e.g., the input/output mechanisms and aprocessor executing instructions retrieved from computer-readablemedium) and software. Example operating systems include the ANDROIDmobile device platform; APPLE IPHONE/MAC OS X operating systems;MICROSOFT WINDOWS 7/WINDOWS MOBILE operating systems; SYMBIAN operatingsystem; RIM BLACKBERRY operating system; PALM WEB operating system; avariety of UNIX-flavored operating systems; or a proprietary operatingsystem for computerized devices. The operating system may provide aplatform for the execution of application programs that facilitateinteraction between the computing device and a user.

The mobile computing device 610 may present a graphical user interfacewith the touchscreen 612. A graphical user interface is a collection ofone or more graphical interface elements and may be static (e.g., thedisplay appears to remain the same over a period of time), or may bedynamic (e.g., the graphical user interface includes graphical interfaceelements that animate without user input).

A graphical interface element may be text, lines, shapes, images, orcombinations thereof. For example, a graphical interface element may bean icon that is displayed on the desktop and the icon's associated text.In some examples, a graphical interface element is selectable withuser-input. For example, a user may select a graphical interface elementby pressing a region of the touchscreen that corresponds to a display ofthe graphical interface element. In some examples, the user maymanipulate a trackball to highlight a single graphical interface elementas having focus. User-selection of a graphical interface element mayinvoke a pre-defined action by the mobile computing device. In someexamples, selectable graphical interface elements further oralternatively correspond to a button on the keyboard 604. User-selectionof the button may invoke the pre-defined action.

In some examples, the operating system provides a “desktop” userinterface that is displayed upon turning on the mobile computing device610, activating the mobile computing device 610 from a sleep state, upon“unlocking” the mobile computing device 610, or upon receivinguser-selection of the “home” button 618 c. The desktop graphicalinterface may display several icons that, when selected with user-input,invoke corresponding application programs. An invoked applicationprogram may present a graphical interface that replaces the desktopgraphical interface until the application program terminates or ishidden from view.

User-input may manipulate a sequence of mobile computing device 610operations. For example, a single-action user input (e.g., a single tapof the touchscreen, swipe across the touchscreen, contact with a button,or combination of these at a same time) may invoke an operation thatchanges a display of the user interface. Without the user-input, theuser interface may not have changed at a particular time. For example, amulti-touch user input with the touchscreen 612 may invoke a mappingapplication to “zoom-in” on a location, even though the mappingapplication may have by default zoomed-in after several seconds.

The desktop graphical interface can also display “widgets.” A widget isone or more graphical interface elements that are associated with anapplication program that has been executed, and that display on thedesktop content controlled by the executing application program. Awidget's application program may start with the mobile telephone.Further, a widget may not take focus of the full display. Instead, awidget may only “own” a small portion of the desktop, displaying contentand receiving touchscreen user-input within the portion of the desktop.

The mobile computing device 610 may include one or morelocation-identification mechanisms. A location-identification mechanismmay include a collection of hardware and software that provides theoperating system and application programs an estimate of the mobiletelephone's geographical position. A location-identification mechanismmay employ satellite-based positioning techniques, base stationtransmitting antenna identification, multiple base stationtriangulation, internet access point IP location determinations,inferential identification of a user's position based on search enginequeries, and user-supplied identification of location (e.g., by“checking in” to a location).

The mobile computing device 610 may include other application modulesand hardware. A call handling unit may receive an indication of anincoming telephone call and provide a user capabilities to answer theincoming telephone call. A media player may allow a user to listen tomusic or play movies that are stored in local memory of the mobilecomputing device 610. The mobile telephone 610 may include a digitalcamera sensor, and corresponding image and video capture and editingsoftware. An internet browser may enable the user to view content from aweb page by typing in an addresses corresponding to the web page orselecting a link to the web page.

The mobile computing device 610 may include an antenna to wirelesslycommunicate information with the base station 640. The base station 640may be one of many base stations in a collection of base stations (e.g.,a mobile telephone cellular network) that enables the mobile computingdevice 610 to maintain communication with a network 650 as the mobilecomputing device is geographically moved. The computing device 610 mayalternatively or additionally communicate with the network 650 through aWi-Fi router or a wired connection (e.g., Ethernet, USB, or FIREWIRE).The computing device 610 may also wirelessly communicate with othercomputing devices using BLUETOOTH protocols, or may employ an ad-hocwireless network.

A service provider that operates the network of base stations mayconnect the mobile computing device 610 to the network 650 to enablecommunication between the mobile computing device 610 and othercomputerized devices that provide services 660. Although the services660 may be provided over different networks (e.g., the serviceprovider's internal network, the Public Switched Telephone Network, andthe Internet), network 650 is illustrated as a single network. Theservice provider may operate a server system 652 that routes informationpackets and voice data between the mobile computing device 610 andcomputing devices associated with the services 660.

The network 650 may connect the mobile computing device 610 to thePublic Switched Telephone Network (PSTN) 662 in order to establish voiceor fax communication between the mobile computing device 610 and anothercomputing device. For example, the service provider server system 652may receive an indication from the PSTN 662 of an incoming call for themobile computing device 610. Conversely, the mobile computing device 610may send a communication to the service provider server system 652initiating a telephone call with a telephone number that is associatedwith a device accessible through the PSTN 662.

The network 650 may connect the mobile computing device 610 with a Voiceover Internet Protocol (VoIP) service 664 that routes voicecommunications over an IP network, as opposed to the PSTN. For example,a user of the mobile computing device 610 may invoke a VoIP applicationand initiate a call using the program. The service provider serversystem 652 may forward voice data from the call to a VoIP service, whichmay route the call over the internet to a corresponding computingdevice, potentially using the PSTN for a final leg of the connection.

An application store 666 may provide a user of the mobile computingdevice 610 the ability to browse a list of remotely stored applicationprograms that the user may download over the network 650 and install onthe mobile computing device 610. The application store 666 may serve asa repository of applications developed by third-party applicationdevelopers. An application program that is installed on the mobilecomputing device 610 may be able to communicate over the network 650with server systems that are designated for the application program. Forexample, a VoIP application program may be downloaded from theApplication Store 666, enabling the user to communicate with the VoIPservice 664.

The mobile computing device 610 may access content on the internet 668through network 650. For example, a user of the mobile computing device610 may invoke a web browser application that requests data from remotecomputing devices that are accessible at designated universal resourcelocations. In various examples, some of the services 660 are accessibleover the internet.

The mobile computing device may communicate with a personal computer670. For example, the personal computer 670 may be the home computer fora user of the mobile computing device 610. Thus, the user may be able tostream media from his personal computer 670. The user may also view thefile structure of his personal computer 670, and transmit selecteddocuments between the computerized devices.

A voice recognition service 672 may receive voice communication datarecorded with the mobile computing device's microphone 622, andtranslate the voice communication into corresponding textual data. Insome examples, the translated text is provided to a search engine as aweb query, and responsive search engine search results are transmittedto the mobile computing device 610.

The mobile computing device 610 may communicate with a social network674. The social network may include numerous members, some of which haveagreed to be related as acquaintances. Application programs on themobile computing device 610 may access the social network 674 toretrieve information based on the acquaintances of the user of themobile computing device. For example, an “address book” applicationprogram may retrieve telephone numbers for the user's acquaintances. Invarious examples, content may be delivered to the mobile computingdevice 610 based on social network distances from the user to othermembers. For example, advertisement and news article content may beselected for the user based on a level of interaction with such contentby members that are “close” to the user (e.g., members that are“friends” or “friends of friends”).

The mobile computing device 610 may access a personal set of contacts676 through network 650. Each contact may identify an individual andinclude information about that individual (e.g., a phone number, anemail address, and a birthday). Because the set of contacts is hostedremotely to the mobile computing device 610, the user may access andmaintain the contacts 676 across several devices as a common set ofcontacts.

The mobile computing device 610 may access cloud-based applicationprograms 678. Cloud-computing provides application programs (e.g., aword processor or an email program) that are hosted remotely from themobile computing device 610, and may be accessed by the device 610 usinga web browser or a dedicated program. Example cloud-based applicationprograms include GOOGLE DOCS word processor and spreadsheet service,GOOGLE GMAIL webmail service, and PICASA picture manager.

Mapping service 680 can provide the mobile computing device 610 withstreet maps, route planning information, and satellite images. Anexample mapping service is GOOGLE MAPS. The mapping service 680 may alsoreceive queries and return location-specific results. For example, themobile computing device 610 may send an estimated location of the mobilecomputing device and a user-entered query for “pizza places” to themapping service 680. The mapping service 680 may return a street mapwith “markers” superimposed on the map that identify geographicallocations of nearby “pizza places.”

Turn-by-turn service 682 may provide the mobile computing device 610with turn-by-turn directions to a user-supplied destination. Forexample, the turn-by-turn service 682 may stream to device 610 astreet-level view of an estimated location of the device, along withdata for providing audio commands and superimposing arrows that direct auser of the device 610 to the destination.

Various forms of streaming media 684 may be requested by the mobilecomputing device 610. For example, computing device 610 may request astream for a pre-recorded video file, a live television program, or alive radio program. Example services that provide streaming mediainclude YOUTUBE and PANDORA.

A micro-blogging service 686 may receive from the mobile computingdevice 610 a user-input post that does not identify recipients of thepost. The micro-blogging service 686 may disseminate the post to othermembers of the micro-blogging service 686 that agreed to subscribe tothe user.

A search engine 688 may receive user-entered textual or verbal queriesfrom the mobile computing device 610, determine a set ofinternet-accessible documents that are responsive to the query, andprovide to the device 610 information to display a list of searchresults for the responsive documents. In examples where a verbal queryis received, the voice recognition service 672 may translate thereceived audio into a textual query that is sent to the search engine.

These and other services may be implemented in a server system 690. Aserver system may be a combination of hardware and software thatprovides a service or a set of services. For example, a set ofphysically separate and networked computerized devices may operatetogether as a logical server system unit to handle the operationsnecessary to offer a service to hundreds of individual computingdevices.

In various implementations, operations that are performed “in response”to another operation (e.g., a determination or an identification) arenot performed if the prior operation is unsuccessful (e.g., if thedetermination was not performed). Features in this document that aredescribed with conditional language may describe implementations thatare optional. In some examples, “transmitting” from a first device to asecond device includes the first device placing data into a network forreceipt by the second device, but may not include the second devicereceiving the data. Conversely, “receiving” from a first device mayinclude receiving the data from a network, but may not include the firstdevice transmitting the data.

FIG. 7 is a block diagram of computing devices 700, 750 that may be usedto implement the systems and methods described in this document, aseither a client or as a server or plurality of servers. Computing device700 is intended to represent various forms of digital computers, such aslaptops, desktops, workstations, personal digital assistants, servers,blade servers, mainframes, and other appropriate computers. Computingdevice 750 is intended to represent various forms of mobile devices,such as personal digital assistants, cellular telephones, smartphones,and other similar computing devices. Additionally computing device 700or 750 can include Universal Serial Bus (USB) flash drives. The USBflash drives may store operating systems and other applications. The USBflash drives can include input/output components, such as a wirelesstransmitter or USB connector that may be inserted into a USB port ofanother computing device. The components shown here, their connectionsand relationships, and their functions, are meant to be exemplary only,and are not meant to limit implementations described and/or claimed inthis document.

Computing device 700 includes a processor 702, memory 704, a storagedevice 706, a high-speed interface 708 connecting to memory 704 andhigh-speed expansion ports 710, and a low speed interface 712 connectingto low speed bus 714 and storage device 706. Each of the components 702,704, 706, 708, 710, and 712, are interconnected using various busses,and may be mounted on a common motherboard or in other manners asappropriate. The processor 702 can process instructions for executionwithin the computing device 700, including instructions stored in thememory 704 or on the storage device 706 to display graphical informationfor a GUI on an external input/output device, such as display 716coupled to high speed interface 708. In other implementations, multipleprocessors and/or multiple buses may be used, as appropriate, along withmultiple memories and types of memory. Also, multiple computing devices700 may be connected, with each device providing portions of thenecessary operations (e.g., as a server bank, a group of blade servers,or a multi-processor system).

The memory 704 stores information within the computing device 700. Inone implementation, the memory 704 is a volatile memory unit or units.In another implementation, the memory 704 is a non-volatile memory unitor units. The memory 704 may also be another form of computer-readablemedium, such as a magnetic or optical disk.

The storage device 706 is capable of providing mass storage for thecomputing device 700. In one implementation, the storage device 706 maybe or contain a computer-readable medium, such as a floppy disk device,a hard disk device, an optical disk device, or a tape device, a flashmemory or other similar solid state memory device, or an array ofdevices, including devices in a storage area network or otherconfigurations. A computer program product can be tangibly embodied inan information carrier. The computer program product may also containinstructions that, when executed, perform one or more methods, such asthose described above. The information carrier is a computer- ormachine-readable medium, such as the memory 704, the storage device 706,or memory on processor 702.

The high speed controller 708 manages bandwidth-intensive operations forthe computing device 700, while the low speed controller 712 manageslower bandwidth-intensive operations. Such allocation of functions isexemplary only. In one implementation, the high-speed controller 708 iscoupled to memory 704, display 716 (e.g., through a graphics processoror accelerator), and to high-speed expansion ports 710, which may acceptvarious expansion cards (not shown). In the implementation, low-speedcontroller 712 is coupled to storage device 706 and low-speed expansionport 714. The low-speed expansion port, which may include variouscommunication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet)may be coupled to one or more input/output devices, such as a keyboard,a pointing device, a scanner, or a networking device such as a switch orrouter, e.g., through a network adapter.

The computing device 700 may be implemented in a number of differentforms, as shown in the figure. For example, it may be implemented as astandard server 720, or multiple times in a group of such servers. Itmay also be implemented as part of a rack server system 724. Inaddition, it may be implemented in a personal computer such as a laptopcomputer 722. Alternatively, components from computing device 700 may becombined with other components in a mobile device (not shown), such asdevice 750. Each of such devices may contain one or more of computingdevice 700, 750, and an entire system may be made up of multiplecomputing devices 700, 750 communicating with each other.

Computing device 750 includes a processor 752, memory 764, aninput/output device such as a display 754, a communication interface766, and a transceiver 768, among other components. The device 750 mayalso be provided with a storage device, such as a microdrive or otherdevice, to provide additional storage. Each of the components 750, 752,764, 754, 766, and 768, are interconnected using various buses, andseveral of the components may be mounted on a common motherboard or inother manners as appropriate.

The processor 752 can execute instructions within the computing device750, including instructions stored in the memory 764. The processor maybe implemented as a chipset of chips that include separate and multipleanalog and digital processors. Additionally, the processor may beimplemented using any of a number of architectures. For example, theprocessor 410 may be a CISC (Complex Instruction Set Computers)processor, a RISC (Reduced Instruction Set Computer) processor, or aMISC (Minimal Instruction Set Computer) processor. The processor mayprovide, for example, for coordination of the other components of thedevice 750, such as control of user interfaces, applications run bydevice 750, and wireless communication by device 750.

Processor 752 may communicate with a user through control interface 758and display interface 756 coupled to a display 754. The display 754 maybe, for example, a TFT (Thin-Film-Transistor Liquid Crystal Display)display or an OLED (Organic Light Emitting Diode) display, or otherappropriate display technology. The display interface 756 may compriseappropriate circuitry for driving the display 754 to present graphicaland other information to a user. The control interface 758 may receivecommands from a user and convert them for submission to the processor752. In addition, an external interface 762 may be provide incommunication with processor 752, so as to enable near areacommunication of device 750 with other devices. External interface 762may provide, for example, for wired communication in someimplementations, or for wireless communication in other implementations,and multiple interfaces may also be used.

The memory 764 stores information within the computing device 750. Thememory 764 can be implemented as one or more of a computer-readablemedium or media, a volatile memory unit or units, or a non-volatilememory unit or units. Expansion memory 774 may also be provided andconnected to device 750 through expansion interface 772, which mayinclude, for example, a SIMM (Single In Line Memory Module) cardinterface. Such expansion memory 774 may provide extra storage space fordevice 750, or may also store applications or other information fordevice 750. Specifically, expansion memory 774 may include instructionsto carry out or supplement the processes described above, and mayinclude secure information also. Thus, for example, expansion memory 774may be provide as a security module for device 750, and may beprogrammed with instructions that permit secure use of device 750. Inaddition, secure applications may be provided via the SIMM cards, alongwith additional information, such as placing identifying information onthe SIMM card in a non-hackable manner.

The memory may include, for example, flash memory and/or NVRAM memory,as discussed below. In one implementation, a computer program product istangibly embodied in an information carrier. The computer programproduct contains instructions that, when executed, perform one or moremethods, such as those described above. The information carrier is acomputer- or machine-readable medium, such as the memory 764, expansionmemory 774, or memory on processor 752 that may be received, forexample, over transceiver 768 or external interface 762.

Device 750 may communicate wirelessly through communication interface766, which may include digital signal processing circuitry wherenecessary. Communication interface 766 may provide for communicationsunder various modes or protocols, such as GSM voice calls, SMS, EMS, orMMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others.Such communication may occur, for example, through radio-frequencytransceiver 768. In addition, short-range communication may occur, suchas using a Bluetooth, WiFi, or other such transceiver (not shown). Inaddition, GPS (Global Positioning System) receiver module 770 mayprovide additional navigation- and location-related wireless data todevice 750, which may be used as appropriate by applications running ondevice 750.

Device 750 may also communicate audibly using audio codec 760, which mayreceive spoken information from a user and convert it to usable digitalinformation. Audio codec 760 may likewise generate audible sound for auser, such as through a speaker, e.g., in a handset of device 750. Suchsound may include sound from voice telephone calls, may include recordedsound (e.g., voice messages, music files, etc.) and may also includesound generated by applications operating on device 750.

The computing device 750 may be implemented in a number of differentforms, as shown in the figure. For example, it may be implemented as acellular telephone 780. It may also be implemented as part of asmartphone 782, personal digital assistant, or other similar mobiledevice.

Various implementations of the systems and techniques described here canbe realized in digital electronic circuitry, integrated circuitry,specially designed ASICs (application specific integrated circuits),computer hardware, firmware, software, and/or combinations thereof.These various implementations can include implementation in one or morecomputer programs that are executable and/or interpretable on aprogrammable system including at least one programmable processor, whichmay be special or general purpose, coupled to receive data andinstructions from, and to transmit data and instructions to, a storagesystem, at least one input device, and at least one output device.

These computer programs (also known as programs, software, softwareapplications or code) include machine instructions for a programmableprocessor, and can be implemented in a high-level procedural and/orobject-oriented programming language, and/or in assembly/machinelanguage. As used herein, the terms “machine-readable medium”“computer-readable medium” refers to any computer program product,apparatus and/or device (e.g., magnetic discs, optical disks, memory,Programmable Logic Devices (PLDs)) used to provide machine instructionsand/or data to a programmable processor, including a machine-readablemedium that receives machine instructions as a machine-readable signal.The term “machine-readable signal” refers to any signal used to providemachine instructions and/or data to a programmable processor.

To provide for interaction with a user, the systems and techniquesdescribed here can be implemented on a computer having a display device(e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor)for displaying information to the user and a keyboard and a pointingdevice (e.g., a mouse or a trackball) by which the user can provideinput to the computer. Other kinds of devices can be used to provide forinteraction with a user as well; for example, feedback provided to theuser can be any form of sensory feedback (e.g., visual feedback,auditory feedback, or tactile feedback); and input from the user can bereceived in any form, including acoustic, speech, or tactile input.

The systems and techniques described here can be implemented in acomputing system that includes a back end component (e.g., as a dataserver), or that includes a middleware component (e.g., an applicationserver), or that includes a front end component (e.g., a client computerhaving a graphical user interface or a Web browser through which a usercan interact with an implementation of the systems and techniquesdescribed here), or any combination of such back end, middleware, orfront end components. The components of the system can be interconnectedby any form or medium of digital data communication (e.g., acommunication network). Examples of communication networks include alocal area network (“LAN”), a wide area network (“WAN”), peer-to-peernetworks (having ad-hoc or static members), grid computinginfrastructures, and the Internet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

Although a few implementations have been described in detail above,other modifications are possible. Moreover, other mechanisms forperforming the systems and methods described in this document may beused. In addition, the logic flows depicted in the figures do notrequire the particular order shown, or sequential order, to achievedesirable results. Other steps may be provided, or steps may beeliminated, from the described flows, and other components may be addedto, or removed from, the described systems. Accordingly, otherimplementations are within the scope of the following claims.

1-21. (canceled)
 22. A computer-implemented method, comprising:receiving, by one or more processors, a query that was input at acomputing device; determining, by the one or more processors, that thecomputing device is in a first mode of operation in which a response tothe query is to be audibly provided; in response to determining that thecomputing device is in the first mode of operation in which the responseto the query is to be audibly provided, generating, by the one or moreprocessors, a response to the query that, by including additionalaudible output that is only included when the computing device isoperating in the first mode of operation, is more verbose than aresponse that would be generated by the computing device if thecomputing device were not operating in the first mode of operation; andproviding, by the one or more processors, the response to the query foraudible output.
 23. The computer-implemented method of claim 22, whereinthe first mode of operation is a hands free mode of operation in whichthe computing device is configured to output the response to the queryusing a speaker of the computing device.
 24. The computer-implementedmethod of claim 22, further comprising: selecting, by the one or moreprocessors, the computing device to be in the first mode of operationbased the one or more processors having determined that the computingdevice is connected to a power source.
 25. The computer-implementedmethod of claim 22, further comprising: selecting, by the one or moreprocessors, the computing device to be in the first mode of operationbased the one or more processors having determined that the computingdevice is in communication with a wireless headset.
 26. Thecomputer-implemented method of claim 22, further comprising: selecting,by the one or more processors, the computing device to be in the firstmode of operation based the one or more processors having determinedthat the computing device is placed in a dock.
 27. Thecomputer-implemented method of claim 22, further comprising: providing,by the one or more processors, the response to the query forpresentation by a display of the computing device, in conjunction withproviding the response to the query for output by a speaker of thedevice, based on the one or more processors having determined that thecomputing device is in the first mode of operation.
 28. Thecomputer-implemented method of claim 22, wherein the one or moreprocessors are configured to deactivate a speaker of the computingdevice from providing the response to the query, based on the one ormore processors having determined that the computing device is in asecond mode of operation in which a display of the computing device isused to output responses generated by the computing device when thecomputing device is not operating in the first mode of operation. 29.The computer-implemented method of claim 22, wherein the one or moreprocessors are configured to activate a microphone of the computingdevice for receiving voice input, while the computing device is in thefirst mode of operation.
 30. A system comprising: one or more computersand one or more storage devices storing instructions that are operable,when executed by the one or more computers, to cause the one or morecomputers to perform operations comprising: receiving, by one or moreprocessors, a query that was input at a computing device; determining,by the one or more processors, that the computing device is in a firstmode of operation in which a response to the query is to be audiblyprovided; in response to determining that the computing device is in thefirst mode of operation in which the response to the query is to beaudibly provided, generating, by the one or more processors, a responseto the query that, by including additional audible output that is onlyincluded when the computing device is operating in the first mode ofoperation, is more verbose than a response that would be generated bythe computing device if the computing device were not operating in thefirst mode of operation; and providing, by the one or more processors,the response to the query for audible output.
 31. The system of claim30, wherein the first mode of operation is a hands free mode ofoperation in which the computing device is configured to output theresponse to the query using a speaker of the computing device.
 32. Thesystem of claim 30, the operations further comprising: selecting, by theone or more processors, the computing device to be in the first mode ofoperation based the one or more processors having determined that thecomputing device is connected to a power source.
 33. The system of claim30, the operations further comprising: selecting, by the one or moreprocessors, the computing device to be in the first mode of operationbased the one or more processors having determined that the computingdevice is in communication with a wireless headset.
 34. The system ofclaim 30, the operations further comprising: selecting, by the one ormore processors, the computing device to be in the first mode ofoperation based the one or more processors having determined that thecomputing device is placed in a dock.
 35. The system of claim 30, theoperations further comprising: providing, by the one or more processors,the response to the query for presentation by a display of the computingdevice, in conjunction with providing the response to the query foroutput by a speaker of the device, based on the one or more processorshaving determined that the computing device is in the first mode ofoperation.
 36. The system of claim 30, wherein the one or moreprocessors are configured to deactivate a speaker of the computingdevice from providing the response to the query, based on the one ormore processors having determined that the computing device is in asecond mode of operation in which a display of the computing device isused to output responses generated by the computing device when thecomputing device is not operating in the first mode of operation. 37.The system of claim 30, wherein the one or more processors areconfigured to activate a microphone of the computing device forreceiving voice input, while the computing device is in the first modeof operation.
 38. A non-transitory computer-readable medium storingsoftware comprising instructions executable by one or more computerswhich, upon such execution, cause the one or more computers to performoperations comprising: receiving, by one or more processors, a querythat was input at a computing device; determining, by the one or moreprocessors, that the computing device is in a first mode of operation inwhich a response to the query is to be audibly provided; in response todetermining that the computing device is in the first mode of operationin which the response to the query is to be audibly provided,generating, by the one or more processors, a response to the query that,by including additional audible output that is only included when thecomputing device is operating in the first mode of operation, is moreverbose than a response that would be generated by the computing deviceif the computing device were not operating in the first mode ofoperation; and providing, by the one or more processors, the response tothe query for audible output.
 39. The medium of claim 38, wherein thefirst mode of operation is a hands free mode of operation in which thecomputing device is configured to output the response to the query usinga speaker of the computing device.
 40. The medium of claim 38, theoperations further comprising: selecting, by the one or more processors,the computing device to be in the first mode of operation based the oneor more processors having determined that the computing device isconnected to a power source.
 41. The medium of claim 38, the operationsfurther comprising: selecting, by the one or more processors, thecomputing device to be in the first mode of operation based the one ormore processors having determined that the computing device is incommunication with a wireless headset.